/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.baratongoweb.controladores;

import com.baratongoweb.modelos.Producto;
import java.io.IOException;
import java.io.Serializable;
import java.sql.SQLException;
import java.util.LinkedList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpSession;
import com.baratongoweb.model.Model;
import com.baratongoweb.model.PersonasDAO;
import com.baratongoweb.modelos.Persona;
import javax.servlet.RequestDispatcher;

/**
 *
 * @author cabarcas
 */
public class IniciarSesionAction extends Action implements  Serializable{

    HttpSession sesion=null;
    String next="";
    @Override
    public void run() throws ServletException, IOException {

        LinkedList<Producto> productos=new LinkedList<Producto>();

        sesion=request.getSession();

        String user=request.getParameter("usuario");
        String id=request.getParameter("id");
        Persona p=null;
        sesion.setAttribute("productos", productos);

        Model m=new Model();
        try {
            PersonasDAO pdao = model.getPersonasDAO();
            p=pdao.consultar(id);
            if(p.getNombre().substring(0, user.length()).equals(user) && p.getCodigo().equals(id)){
                sesion.setAttribute("usuario", p.getNombre());
                sesion.setAttribute("id", p.getCodigo());
                sesion.setAttribute("cargo", new Integer(p.getCargo()));
                if(p.getCargo()==2){
                    next="/VistaClientes.jsp";
                }else{
                    next="/AdminInicio.jsp";
                }
            }else {
                next="/IniciarSesion.jsp";
            }
        } catch (SQLException ex) {
            Logger.getLogger(IniciarSesionAction.class.getName()).log(Level.SEVERE, null, ex);
        }
        RequestDispatcher rd=application.getRequestDispatcher(next);
        if(rd==null)
          	throw new ServletException("No se pudo encontrar "+next);
        rd.forward(request,response);


    }

}
